trigger AutoAssignProductLookupField on Opportunity bulk (before insert) {
 for (Opportunity o : Trigger.new){
     if (o.Amount >0 )
           {
               // One Approach - Hard coded - o.hchengdemo__Product__c='01t60000000hzyL';  // Must have ID for product

// New approach - do query
String sName=o.hchengdemo__InitialProductName__c; // You could concatenate multiple fields using the + sign.  For example + 'hello';
// First check for any records
Integer i=[select count() from product2 Where Name=:sName];
if (i==0)
{
  o.addError('No product exists for ' + sName);
}
else
{

  product2 p=[select id from product2 Where Name=:sName];
    o.hchengdemo__Product__c=p.id;
}

// Query for set of products
/*
for (product2 p: [select id from product2 Where Name=:sName])
{
  o.hchengdemo__Product__c=p.id;
}
*/

           }
     }
}